<?php

namespace Account\Model\Entity;

class Account {

    protected $id;
    protected $annualrevenue;
    protected $description;
	protected $employees;
	protected $latestactivitydatetime;
	protected $name;
	protected $officephone;
	protected $officefax;
	protected $website;
	protected $ownedsecurable_id;
	protected $account_id;
	protected $billingaddress_address_id;
	protected $industry_customfield_id;
	protected $primaryemail_email_id;
	protected $secondaryemail_email_id;
	protected $shippingaddress_address_id;
	protected $type_customfield_id;
	
	public function exchangeArray($data)
    {
        $this->id     = (isset($data['id'])) ? $data['id'] : null;
        $this->annualrevenue = (isset($data['annualrevenue'])) ? $data['annualrevenue'] : null;
        $this->description  = (isset($data['description'])) ? $data['description'] : null;
		$this->employees  = (isset($data['employees'])) ? $data['employees'] : null;
		$this->letestactivitydatetime  = (isset($data['lastestactivitydatetime'])) ? $data['latestactivitydatetime'] : null;
		$this->name  = (isset($data['name'])) ? $data['name'] : null;
		$this->officephone  = (isset($data['officephone'])) ? $data['officephone'] : null;
		$this->officefax  = (isset($data['officefax'])) ? $data['officefax'] : null;
		$this->website  = (isset($data['website'])) ? $data['website'] : null;
		$this->ownedsecurableitem_id  = (isset($data['ownedsecurableitem_id'])) ? $data['ownedsecurableitem_id'] : null;
		$this->account_id  = (isset($data['account_id'])) ? $data['account_id'] : null;
		$this->billingaddress_address_id  = (isset($data['billingaddress_address_id'])) ? $data['billingaddress_address_id'] : null;
		$this->industry_customfield_id  = (isset($data['industry_customfield_id'])) ? $data['industry_customfield_id'] : null;
		$this->primaryemail_email_id  = (isset($data['primaryemail_email_id'])) ? $data['primaryemail_email_id'] : null;
		$this->secondaryemail_email_id  = (isset($data['secondaryemail_email_id'])) ? $data['secondaryemail_email_id'] : null;
		$this->shippingaddress_address_id  = (isset($data['shippingaddress_address_id'])) ? $data['shippingaddress_address_id'] : null;
		$this->type_customfield_id  = (isset($data['type_customfield_id'])) ? $data['type_customfield_id'] : null;		
    }
	
    public function __construct(array $options = null) {
        if (is_array($options)) {
            $this->setOptions($options);
        }
    }
/*
    public function __set($name, $value) {
        $method = 'set' . $name;
        if (!method_exists($this, $method)) {
            throw new Exception('Invalid Method');
        }
        $this->$method($value);
    }

    public function __get($name) {
        $method = 'get' . $name;
        if (!method_exists($this, $method)) {
            throw new Exception('Invalid Method');
        }
        return $this->$method();
    }

    public function setOptions(array $options) {
        $methods = get_class_methods($this);
        foreach ($options as $key => $value) {
            $method = 'set' . ucfirst($key);
            if (in_array($method, $methods)) {
                $this->$method($value);
            }
        
        return $this;
    }
*/
    public function getId() {
        return $this->id;
    }

    public function setId($id) {
        $this->id = $id;
        return $this;
    }

    public function getAnnualRevenue() {
        return $this->annualrevenue;
    }

    public function setAnnualRevenue($annualrevenue) {
        $this->annualrevenue = $annualrevenue;
        return $this;
    }

    public function getDescription() {
        return $this->description;
    }

    public function setDescription($description) {
        $this->description = $description;
        return $this;
    }
	
    public function getEmployees() {
        return $this->employees;
    }

    public function setEmployees($employees) {
        $this->employees = $employees;
        return $this;
    }
	
    public function getLatestActivityDateTime() {
        return $this->latestactivitydatetime;
    }

    public function setLatestActivityDateTime($latestactivitydatetime) {
        $this->latestactivitydatetime = $latestactivitydatetime;
        return $this;
    }
	
    public function getName() {
        return $this->name;
    }

    public function setName($name) {
        $this->name = $name;
        return $this;
    }
	
    public function getOfficePhone() {
        return $this->officephone;
    }

    public function setOfficePhone($officephone) {
        $this->officephone = $officephone;
        return $this;
    }
	
    public function getOfficeFax() {
        return $this->officefax;
    }

    public function setOfficeFax($officefax) {
        $this->officefax = $officefax;
        return $this;
    }
	
	 public function getWebsite() {
        return $this->website;
    }

    public function setWebsite($website) {
        $this->website = $website;
        return $this;
    }
	
	 public function getOwnedSecurable_Id() {
        return $this->ownedsecurable_id;
    }

    public function setOwnedSecurable_Id($ownedsecurable_id) {
        $this->ownedsecurable_id = $ownedsecurable_id;
        return $this;
    }
	
	 public function getAccount_Id() {
        return $this->account_id;
    }

    public function setAccount_Id($account_id) {
        $this->account_id = $account_id;
        return $this;
    }
	
	 public function getBilling_Address_Id() {
        return $this->billing_address_id;
    }

    public function setBilling_Address_Id($billing_address_id) {
        $this->billing_address_id = $billing_address_id;
        return $this;
    }
	
	 public function getIndustry_Customfield_Id() {
        return $this->industry_customfield_id;
    }

    public function setIndustry_Customfield_Id($industry_customfield_id) {
        $this->industry_customfield_id = $industry_customfield_id;
        return $this;
    }
	
	public function getPrimaryEmail_Email_Id() {
        return $this->primaryemail_email_id;
    }

    public function setPrimaryEmail_Email_Id($primaryemail_email_id) {
        $this->primaryemail_email_id = $primaryemail_email_id;
        return $this;
    }
	
	public function getSecondaryEmail_Email_Id() {
        return $this->secondaryemail_email_id;
    }

    public function setSecondaryEmail_Email_Id($secondaryemail_email_id) {
        $this->secondaryemail_email_id = $secondaryemail_email_id;
        return $this;
    }
	
	public function getShippingAddress_Address_Id() {
        return $this->shippingaddress_address_id;
    }

    public function setShippingAddress_Address_Id($shippingaddress_address_id) {
        $this->shippingaddress_address_id = $shippingaddress_address_id;
        return $this;
    }

	public function getType_Customfield_Id() {
        return $this->type_customfield_id;
    }

    public function setType_Customfield_Id($type_customfield_id) {
        $this->type_customfield_id = $type_customfield_id;
        return $this;
    }	
}
?>